;; R5RS dictionary for SchemeScript

(dictionary-entry 'define "(define name value)" 'syntax 0)
(dictionary-entry 'begin "(begin body ...)" 'syntax 0)
(dictionary-entry 'lambda "(lambda formals body)" 'syntax 0)
(dictionary-entry 'if "(if test consequent [alternative])" 'syntax)
(dictionary-entry 'set! "(set! var val)" 'syntax)
(dictionary-entry 'boolean? "(boolean? o)" 'function)
(dictionary-entry 'not "(not expr)" 'function)
(dictionary-entry 'and "(and expr ...)" 'syntax)
(dictionary-entry 'or "(or expr ...)" 'syntax)
(dictionary-entry 'let "(let ((var value) ...) exprs ...)" 'syntax)
(dictionary-entry 'let* "(let* ((var value) ...) exprs ...)" 'syntax)
(dictionary-entry 'letrec "(letrec ((var value) ...) exprs ...)" 'syntax)
(dictionary-entry 'let-values "(let-values (((var ...) value) ...) exprs ...)" 'syntax)
(dictionary-entry 'define-syntax "(define-syntax name clauses)" 'syntax)
(dictionary-entry 'syntax-rules "(syntax-rules clauses ...)" 'syntax)
(dictionary-entry 'eq? "(eq? o1 o2)" 'function)
(dictionary-entry 'equal? "(equal? o1 o2)" 'function)
(dictionary-entry 'eqv? "(eqv? o1 o2)" 'function)
(dictionary-entry 'number? "(number? obj)" 'function)
(dictionary-entry 'complex? "(complex? obj)" 'function)
(dictionary-entry 'real? "(real? o)" 'function)
(dictionary-entry 'rational? "(rational? o)" 'function)
(dictionary-entry 'integer? "(integer? o)" 'function)
(dictionary-entry 'exact? "(exact? z)" 'function)
(dictionary-entry 'inexact? "(inexact? z)" 'function)
(dictionary-entry '= "(= z1 z2 z3 ...)" 'function)
(dictionary-entry '< "(< z1 z2 z3 ...)" 'function)
(dictionary-entry '> "(> z1 z2 z3 ...)" 'function)
(dictionary-entry '<= "(<= z1 z2 z3 ...)" 'function)
(dictionary-entry '>= "(>= z1 z2 z3 ...)" 'function)
(dictionary-entry 'zero? "(zero? z)" 'function)
(dictionary-entry 'positive? "(positive? x)" 'function)
(dictionary-entry 'negative? "(negative? x)" 'function)
(dictionary-entry 'odd? "(odd? n)" 'function)
(dictionary-entry 'even? "(even? n)" 'function)
(dictionary-entry 'max "(max x1 x2 ...)" 'function)
(dictionary-entry 'min "(min x1 x2 ...)" 'function)
(dictionary-entry '+ "(+ z1 ...)" 'function)
(dictionary-entry '* "(* z1 ...)" 'function)
(dictionary-entry '- "(- z1 z2 ...)" 'function)
(dictionary-entry '/ "(/ z1 z2 ...)" 'function)
(dictionary-entry 'abs "(abs x)" 'function)
(dictionary-entry 'quotient "(quotient n1 n2)" 'function)
(dictionary-entry 'remainder "(remainder n1 n2)" 'function)
(dictionary-entry 'modulo "(modulo n1 n2)" 'function)
(dictionary-entry 'gcd "(gcd n1 ...)" 'function)
(dictionary-entry 'lcm "(lcm n1 ...)" 'function)
(dictionary-entry 'numerator "(numerator q)" 'function)
(dictionary-entry 'denominator "(denominator q)" 'function)
(dictionary-entry 'floor "(floor x)" 'function)
(dictionary-entry 'ceiling "(ceiling x)" 'function)
(dictionary-entry 'truncate "(truncate x)" 'function)
(dictionary-entry 'round "(round x)" 'function)
(dictionary-entry 'rationalize "(rationalize x y)" 'function)
(dictionary-entry 'exp "(exp z)" 'function)
(dictionary-entry 'log "(log z)" 'function)
(dictionary-entry 'sin "(sin z)" 'function)
(dictionary-entry 'cos "(cos z)" 'function)
(dictionary-entry 'tan "(tan z)" 'function)
(dictionary-entry 'asin "(asin z)" 'function)
(dictionary-entry 'acos "(acos z)" 'function)
(dictionary-entry 'atan "(atan z)" 'function)
(dictionary-entry 'atan "(atan x y)" 'function)
(dictionary-entry 'sqrt "(sqrt z)" 'function)
(dictionary-entry 'expt "(expt z1 z2)" 'function)
(dictionary-entry 'make-rectangular "(make-rectangular x1 x2)" 'function)
(dictionary-entry 'make-polar "(make-polar x1 x2)" 'function)
(dictionary-entry 'real-part "(real-part z)" 'function)
(dictionary-entry 'imag-part "(imag-part z)" 'function)
(dictionary-entry 'magnitude "(magnitude z)" 'function)
(dictionary-entry 'angle "(angle z)" 'function)
(dictionary-entry 'exact->inexact "(exact->inexact z)" 'function)
(dictionary-entry 'inexact->exact "(inexact->exact z)" 'function)
(dictionary-entry 'number->string "(number->string z [radix])" 'function)
(dictionary-entry 'string->number "(string->number str [radix])" 'function)
(dictionary-entry 'pair? "(pair? o)" 'function)
(dictionary-entry 'null? "(null? o)" 'function)
(dictionary-entry 'cons "(cons o1 o2)" 'function)
(dictionary-entry 'car "(car p)" 'function)
(dictionary-entry 'cdr "(cdr p)" 'function)
(dictionary-entry 'caar "(caar p)" 'function)
(dictionary-entry 'cadr "(cadr p)" 'function)
(dictionary-entry 'cdar "(cdar p)" 'function)
(dictionary-entry 'cddr "(cddr p)" 'function)
(dictionary-entry 'caaar "(caaar p)" 'function)
(dictionary-entry 'caadr "(caadr p)" 'function)
(dictionary-entry 'cadar "(cadar p)" 'function)
(dictionary-entry 'caddr "(caddr p)" 'function)
(dictionary-entry 'cdaar "(cdaar p)" 'function)
(dictionary-entry 'cdadr "(cdadr p)" 'function)
(dictionary-entry 'cddar "(cddar p)" 'function)
(dictionary-entry 'cdddr "(cdddr p)" 'function)
(dictionary-entry 'caaaar "(caaaar p)" 'function)
(dictionary-entry 'caaadr "(caaadr p)" 'function)
(dictionary-entry 'caadar "(caadar p)" 'function)
(dictionary-entry 'caaddr "(caaddr p)" 'function)
(dictionary-entry 'cadaar "(cadaar p)" 'function)
(dictionary-entry 'cadadr "(cadadr p)" 'function)
(dictionary-entry 'caddar "(caddar p)" 'function)
(dictionary-entry 'cadddr "(cadddr p)" 'function)
(dictionary-entry 'cdaaar "(cdaaar p)" 'function)
(dictionary-entry 'cdaadr "(cdaadr p)" 'function)
(dictionary-entry 'cdadar "(cdadar p)" 'function)
(dictionary-entry 'cdaddr "(cdaddr p)" 'function)
(dictionary-entry 'cddaar "(cddaar p)" 'function)
(dictionary-entry 'cddadr "(cddadr p)" 'function)
(dictionary-entry 'cdddar "(cdddar p)" 'function)
(dictionary-entry 'cddddr "(cddddr p)" 'function)
(dictionary-entry 'set-cdr! "(set-cdr! p o)" 'function)
(dictionary-entry 'list "(list o ...)" 'function)
(dictionary-entry 'list? "(list? o)" 'function)
(dictionary-entry 'length "(length l)" 'function)
(dictionary-entry 'append "(append l ...)" 'function)
(dictionary-entry 'reverse "(reverse l)" 'function)
(dictionary-entry 'list-tail "(list-tail l k)" 'function)
(dictionary-entry 'list-ref "(list-ref l k)" 'function)
(dictionary-entry 'memq "(memq elt l)" 'function)
(dictionary-entry 'memv "(memv elt l)" 'function)
(dictionary-entry 'member "(member elt l)" 'function)
(dictionary-entry 'assq "(assq o alist)" 'function)
(dictionary-entry 'assv "(assv o alist)" 'function)
(dictionary-entry 'assoc "(assoc o alist)" 'function)
(dictionary-entry 'string? "(string? o)" 'function)
(dictionary-entry 'make-string "(make-string n [ch])" 'function)
(dictionary-entry 'string "(string ch ...)" 'function)
(dictionary-entry 'string-length "(string-length str)" 'function)
(dictionary-entry 'string-ref "(string-ref str idx)" 'function)
(dictionary-entry 'string-set! "(string-set! str idx ch)" 'function)
(dictionary-entry 'string->list "(string->list str)" 'function)
(dictionary-entry 'list->string "(list->string lst)" 'function)
(dictionary-entry 'string=? "(string=? s1 s2)" 'function)
(dictionary-entry 'string<? "(string<? s1 s2)" 'function)
(dictionary-entry 'string>? "(string>? s1 s2)" 'function)
(dictionary-entry 'string<=? "(string<=? s1 s2)" 'function)
(dictionary-entry 'string>=? "(string>=? s1 s2)" 'function)
(dictionary-entry 'string-ci=? "(string=? s1 s2)" 'function)
(dictionary-entry 'string-ci<? "(string<? s1 s2)" 'function)
(dictionary-entry 'string-ci>? "(string>? s1 s2)" 'function)
(dictionary-entry 'string-ci<=? "(string<=? s1 s2)" 'function)
(dictionary-entry 'string-ci>=? "(string>=? s1 s2)" 'function)
(dictionary-entry 'string-downcase "(string-downcase s1 s2)" 'function)
(dictionary-entry 'string-upcase "(string-upcase s1 s2)" 'function)
(dictionary-entry 'substring "(substring str start end)" 'function)
(dictionary-entry 'string-append "(string-append str ...)" 'function)
(dictionary-entry 'string-copy "(string-copy str)" 'function)
(dictionary-entry 'string-fill! "(string-fill! str ch)" 'function)
(dictionary-entry 'char? "(char? o)" 'function)
(dictionary-entry 'integer->char "(integer->char i)" 'function)
(dictionary-entry 'char->integer "(char->integer ch)" 'function)
(dictionary-entry 'char=? "(char=? ch1 ch2)" 'function)
(dictionary-entry 'char<? "(char<? ch1 ch2)" 'function)
(dictionary-entry 'char>? "(char>? ch1 ch2)" 'function)
(dictionary-entry 'char<=? "(char<=? ch1 ch2)" 'function)
(dictionary-entry 'char>=? "(char>=? ch1 ch2)" 'function)
(dictionary-entry 'char-ci=? "(char=? ch1 ch2)" 'function)
(dictionary-entry 'char-ci<? "(char<? ch1 ch2)" 'function)
(dictionary-entry 'char-ci>? "(char>? ch1 ch2)" 'function)
(dictionary-entry 'char-ci<=? "(char<=? ch1 ch2)" 'function)
(dictionary-entry 'char-ci>=? "(char>=? ch1 ch2)" 'function)
(dictionary-entry 'char-upcase "(char-upcase ch)" 'function)
(dictionary-entry 'char-downcase "(char-downcase ch)" 'function)
(dictionary-entry 'char-alphabetic? "(char-alphabetic? ch)" 'function)
(dictionary-entry 'char-numeric? "(char-numeric? ch)" 'function)
(dictionary-entry 'char-whitespace? "(char-whitespace? ch)" 'function)
(dictionary-entry 'char-whitespace? "(char-whitespace? ch)" 'function)
(dictionary-entry 'char-upper-char? "(char-upper-case? ch)" 'function)
(dictionary-entry 'char-down-char? "(char-down-case? ch)" 'function)
(dictionary-entry 'symbol? "(symbol? o)" 'function)
(dictionary-entry 'symbol->string "(symbol->string sym)" 'function)
(dictionary-entry 'string->symbol "(string->symbol str)" 'function)
(dictionary-entry 'vector? "(vector? o)" 'function)
(dictionary-entry 'vector "(vector o ...)" 'function)
(dictionary-entry 'make-vector "(make-vector n [o])" 'function)
(dictionary-entry 'vector-ref "(vector-ref v k)" 'function)
(dictionary-entry 'vector-set! "(vector-set! v k o)" 'function)
(dictionary-entry 'vector-length "(vector-length v)" 'function)
(dictionary-entry 'vector-fill! "(vector-fill! v o)" 'function)
(dictionary-entry 'vector->list "(vector->list v)" 'function)
(dictionary-entry 'list->vector "(list->vector l)" 'function)
(dictionary-entry 'procedure? "(procedure? o)" 'function)
(dictionary-entry 'apply "(apply proc o ... args)" 'function)
(dictionary-entry 'call-with-current-continuation "(call-with-current-continuation proc)" 'function)
(dictionary-entry 'call/cc "(call/cc proc)" 'function)
(dictionary-entry 'map "(map f l ...)" 'function)
(dictionary-entry 'for-each "(for-each proc l ...)" 'function)
(dictionary-entry 'values "(values o ...)" 'syntax)
(dictionary-entry 'call-with-values "(call-with-values producer consumer)" 'function)
(dictionary-entry 'dynamic-wind "(dynamic-wind before-thunk thunk after-thunk)" 'syntax)
(dictionary-entry 'eval "(eval expression env)" 'function)
(dictionary-entry 'scheme-report-environment "(scheme-report-environment version)" 'function)
(dictionary-entry 'null-environment "(null-environment version)" 'function)
(dictionary-entry 'interaction-environment "(interaction-environment version)" 'function)
(dictionary-entry 'cond "(cond (test expr ...) ...) [(else expr ...)]" 'syntax)
(dictionary-entry 'case "(case expr (values expr ...) ... [(else expr ...)])" 'syntax)
(dictionary-entry 'delay "(delay expr)" 'syntax)
(dictionary-entry 'force "(force expr)" 'function)
(dictionary-entry 'quote "(quote datum)" 'syntax)
(dictionary-entry 'quasiquote "(quasiquote datum)" 'syntax)
(dictionary-entry 'unquote "(unquote datum)" 'syntax)
(dictionary-entry 'unquote-splicing "(unquote-splicing datum)" 'syntax)
(dictionary-entry 'load "(load filename)" 'function)
(dictionary-entry 'open-input-file "(open-input-file filename)" 'function)
(dictionary-entry 'open-output-file "(open-output-file filename)" 'function)
(dictionary-entry 'close-input-port "(close-input-port iport)" 'function)
(dictionary-entry 'close-output-port "(close-output-port oport)" 'function)
(dictionary-entry 'display "(display obj [port])" 'function)
(dictionary-entry 'write "(write obj [port])" 'function)
(dictionary-entry 'write-char "(write-char ch [port])" 'function)
(dictionary-entry 'newline "(newline [port])" 'function)
(dictionary-entry 'read "(read [port])" 'function)
(dictionary-entry 'read-char "(read-char [port])" 'function)
(dictionary-entry 'peek-char "(peek-char [port])" 'function)
(dictionary-entry 'char-ready? "(char-ready? [port])" 'function)
(dictionary-entry 'eof-object? "(eof-object? obj)" 'function)
(dictionary-entry 'with-input-from-file "(with-input-from-file filename thunk)" 'function)
(dictionary-entry 'with-output-to-file "(with-output-to-file filename thunk)" 'function)
(dictionary-entry 'call-with-input-file "(call-with-input-file filename procedure)" 'function)
(dictionary-entry 'call-with-output-file "(call-with-output-file filename procedure)" 'function)
(dictionary-entry 'call-with-input-string "(call-with-input-string string procedure)" 'function)
(dictionary-entry 'call-with-output-string "(call-with-output-string procedure)" 'function)
(dictionary-entry 'current-input-port "(current-input-port)" 'function)
(dictionary-entry 'current-output-port "(current-output-port)" 'function)
(dictionary-entry 'current-error-port "(current-error-port)" 'function)
